package com.xzmzhp.service.finance;

import com.xzmzhp.pojo.finance.Finance;
import com.xzmzhp.vo.finance.FinanceVo;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author: 王源(xm)
 * @create: 2022-03-26 19:00
 * @program: ams
 * @description: 财务信息逻辑接口
 */
@Repository
public interface FinanceService {

    /**
     * 根据财务id查询财务信息
     * @param financeId 财务id
     * @return 财务信息
     */
    FinanceVo findFinanceVoById(Integer financeId);

    /**
     * 查询所有财务数据
     * @return 财务信息
     */
    List<FinanceVo> findAll();

    /**
     * 根据条件查询财务信息
     * @param params 参数
     *        cashFlow  收支类型
     *        financesTypeId 收支项目id
     *        financesPass 是否通过
     *        personnelName  收支人员姓名
     *        startTime 起始时间
     *        endTime 结束时间
     * @return 相应财务信息
     */
    List<FinanceVo> findFinanceVoByParam(Map<String,Object> params);

    /**
     * 根据财务id查询财务信息
     * @param financeId 财务id
     * @return 财务信息
     */
    Finance findFinanceById(Integer financeId);

    /**
     * 添加财务信息
     * @param finance 财务信息
     * @return 是否成功
     */
    Integer addFinance(Finance finance);

    /**
     * 修改财务信息
     * @param finance 财务信息
     * @return 是否成功
     */
    Integer exitFinance(Finance finance);
}
